package cn.iocoder.yudao.module.reading.dal.dataobject.classes;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

/**
 * 班级 DO
 *
 * @author 芋道源码
 */
@TableName("classes")
@KeySequence("classes_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ClassDO extends BaseDO {

    /**
     * 班级ID
     */
    @TableId
    private Long id;
    /**
     * 班级名称
     */
    private String className;
    /**
     * 班级口令，用于加入班级
     */
    private String classCode;
    /**
     * 创建者ID（班级管理员）
     */
    private Long creatorId;
    /**
     * 班级描述
     */
    private String description;
    /**
     * 是否锁定（不允许新成员加入）
     */
    private Boolean isLocked;
    /**
     * 成员数量（冗余字段）
     */
    private Integer memberCount;
    /**
     * 是否启用
     */
    private Boolean isActive;

}
